package com.hiwhitley.himei.entity;

import java.util.List;

/**
 * Created by hiwhitley on 2016/10/20.
 */

public class Game {

    private boolean is_pay_for;
    private Rating rating;
    private Cover cover;
    private String share;
    private int updated_at;
    private boolean is_vertical;
    private String intro;
    private String whatsnew;
    private int id;
    private String developer;
    private String category;
    private String short_review;
    private String name_cn;
    private String share_url;
    private int comment_count;
    private double score;
    private Editor editor;
    private boolean double_credits;
    private boolean trible_credits;
    private int beta_stat;
    private boolean is_new;
    private String advice;
    private boolean published;
    private int quota;
    private String bg_img_url;
    private String awards;
    private boolean ios_only;
    private boolean is_authorized;
    private String name_en;
    /**
     * url : http://gameapp.fp.ps.netease.com/file/5807ed3a143cfa4c3df4269fUMotHE4f
     */

    private Icon icon;
    private Referrer referrer;
    private int created_at;
    private String beta_type;
    private int published_at;
    private int download_count;
    private String beta_description;
    private String editor_words;
    private boolean is_hot;
    private String pay_extend_info;

    private List<Screens> screens;
    private List<Video> video;
    private List<String> tags;
    private List<Packs> packs;

    public boolean isIs_pay_for() {
        return is_pay_for;
    }

    public void setIs_pay_for(boolean is_pay_for) {
        this.is_pay_for = is_pay_for;
    }

    public Rating getRating() {
        return rating;
    }

    public void setRating(Rating rating) {
        this.rating = rating;
    }

    public Cover getCover() {
        return cover;
    }

    public void setCover(Cover cover) {
        this.cover = cover;
    }

    public String getShare() {
        return share;
    }

    public void setShare(String share) {
        this.share = share;
    }

    public int getUpdated_at() {
        return updated_at;
    }

    public void setUpdated_at(int updated_at) {
        this.updated_at = updated_at;
    }

    public boolean isIs_vertical() {
        return is_vertical;
    }

    public void setIs_vertical(boolean is_vertical) {
        this.is_vertical = is_vertical;
    }

    public String getIntro() {
        return intro;
    }

    public void setIntro(String intro) {
        this.intro = intro;
    }

    public String getWhatsnew() {
        return whatsnew;
    }

    public void setWhatsnew(String whatsnew) {
        this.whatsnew = whatsnew;
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getDeveloper() {
        return developer;
    }

    public void setDeveloper(String developer) {
        this.developer = developer;
    }

    public String getCategory() {
        return category;
    }

    public void setCategory(String category) {
        this.category = category;
    }

    public String getShort_review() {
        return short_review;
    }

    public void setShort_review(String short_review) {
        this.short_review = short_review;
    }

    public String getName_cn() {
        return name_cn;
    }

    public void setName_cn(String name_cn) {
        this.name_cn = name_cn;
    }

    public String getShare_url() {
        return share_url;
    }

    public void setShare_url(String share_url) {
        this.share_url = share_url;
    }

    public int getComment_count() {
        return comment_count;
    }

    public void setComment_count(int comment_count) {
        this.comment_count = comment_count;
    }

    public double getScore() {
        return score;
    }

    public void setScore(double score) {
        this.score = score;
    }

    public Editor getEditor() {
        return editor;
    }

    public static class Editor{
        private String avatar;
        private String nickname;

        public String getAvatar() {
            return avatar;
        }

        public void setAvatar(String avatar) {
            this.avatar = avatar;
        }

        public String getNickname() {
            return nickname;
        }

        public void setNickname(String nickname) {
            this.nickname = nickname;
        }
    }

    public void setEditor(Editor editor) {
        this.editor = editor;
    }

    public boolean isDouble_credits() {
        return double_credits;
    }

    public void setDouble_credits(boolean double_credits) {
        this.double_credits = double_credits;
    }

    public boolean isTrible_credits() {
        return trible_credits;
    }

    public void setTrible_credits(boolean trible_credits) {
        this.trible_credits = trible_credits;
    }

    public int getBeta_stat() {
        return beta_stat;
    }

    public void setBeta_stat(int beta_stat) {
        this.beta_stat = beta_stat;
    }

    public boolean isIs_new() {
        return is_new;
    }

    public void setIs_new(boolean is_new) {
        this.is_new = is_new;
    }

    public String getAdvice() {
        return advice;
    }

    public void setAdvice(String advice) {
        this.advice = advice;
    }

    public boolean isPublished() {
        return published;
    }

    public void setPublished(boolean published) {
        this.published = published;
    }

    public int getQuota() {
        return quota;
    }

    public void setQuota(int quota) {
        this.quota = quota;
    }

    public String getBg_img_url() {
        return bg_img_url;
    }

    public void setBg_img_url(String bg_img_url) {
        this.bg_img_url = bg_img_url;
    }

    public String getAwards() {
        return awards;
    }

    public void setAwards(String awards) {
        this.awards = awards;
    }

    public boolean isIos_only() {
        return ios_only;
    }

    public void setIos_only(boolean ios_only) {
        this.ios_only = ios_only;
    }

    public boolean isIs_authorized() {
        return is_authorized;
    }

    public void setIs_authorized(boolean is_authorized) {
        this.is_authorized = is_authorized;
    }

    public String getName_en() {
        return name_en;
    }

    public void setName_en(String name_en) {
        this.name_en = name_en;
    }

    public Icon getIcon() {
        return icon;
    }

    public void setIcon(Icon icon) {
        this.icon = icon;
    }

    public Referrer getReferrer() {
        return referrer;
    }

    public void setReferrer(Referrer referrer) {
        this.referrer = referrer;
    }

    public int getCreated_at() {
        return created_at;
    }

    public void setCreated_at(int created_at) {
        this.created_at = created_at;
    }

    public String getBeta_type() {
        return beta_type;
    }

    public void setBeta_type(String beta_type) {
        this.beta_type = beta_type;
    }

    public int getPublished_at() {
        return published_at;
    }

    public void setPublished_at(int published_at) {
        this.published_at = published_at;
    }

    public int getDownload_count() {
        return download_count;
    }

    public void setDownload_count(int download_count) {
        this.download_count = download_count;
    }

    public String getBeta_description() {
        return beta_description;
    }

    public void setBeta_description(String beta_description) {
        this.beta_description = beta_description;
    }

    public String getEditor_words() {
        return editor_words;
    }

    public void setEditor_words(String editor_words) {
        this.editor_words = editor_words;
    }

    public boolean isIs_hot() {
        return is_hot;
    }

    public void setIs_hot(boolean is_hot) {
        this.is_hot = is_hot;
    }

    public String getPay_extend_info() {
        return pay_extend_info;
    }

    public void setPay_extend_info(String pay_extend_info) {
        this.pay_extend_info = pay_extend_info;
    }

    public List<Screens> getScreens() {
        return screens;
    }

    public void setScreens(List<Screens> screens) {
        this.screens = screens;
    }

    public List<Video> getVideo() {
        return video;
    }

    public void setVideo(List<Video> video) {
        this.video = video;
    }

    public List<String> getTags() {
        return tags;
    }

    public void setTags(List<String> tags) {
        this.tags = tags;
    }

    public List<Packs> getPacks() {
        return packs;
    }

    public void setPacks(List<Packs> packs) {
        this.packs = packs;
    }

    public static class Rating {
        private int created_at;
        private int rate5;
        private int rate4;
        private int rate3;
        private int rate2;
        private int rate1;
        private double average;

        public int getCreated_at() {
            return created_at;
        }

        public void setCreated_at(int created_at) {
            this.created_at = created_at;
        }

        public int getRate5() {
            return rate5;
        }

        public void setRate5(int rate5) {
            this.rate5 = rate5;
        }

        public int getRate4() {
            return rate4;
        }

        public void setRate4(int rate4) {
            this.rate4 = rate4;
        }

        public int getRate3() {
            return rate3;
        }

        public void setRate3(int rate3) {
            this.rate3 = rate3;
        }

        public int getRate2() {
            return rate2;
        }

        public void setRate2(int rate2) {
            this.rate2 = rate2;
        }

        public int getRate1() {
            return rate1;
        }

        public void setRate1(int rate1) {
            this.rate1 = rate1;
        }

        public double getAverage() {
            return average;
        }

        public void setAverage(double average) {
            this.average = average;
        }
    }

    public static class Cover {
        private String url;

        public String getUrl() {
            return url;
        }

        public void setUrl(String url) {
            this.url = url;
        }
    }

    public static class Icon {
        private String url;

        public String getUrl() {
            return url;
        }

        public void setUrl(String url) {
            this.url = url;
        }
    }

    public static class Screens {
        /**
         * url : http://gameapp.fp.ps.netease.com/file/5800e54a5e60277fc1d9c763vLIUGqGq
         */

        private Raw raw;
        private int gid;
        private int id;

        public Raw getRaw() {
            return raw;
        }

        public void setRaw(Raw raw) {
            this.raw = raw;
        }

        public int getGid() {
            return gid;
        }

        public void setGid(int gid) {
            this.gid = gid;
        }

        public int getId() {
            return id;
        }

        public void setId(int id) {
            this.id = id;
        }

        public static class Raw {
            private String url;

            public String getUrl() {
                return url;
            }

            public void setUrl(String url) {
                this.url = url;
            }
        }
    }

    public static class Video {
        private String url;
        private int height;
        private int play_count;
        private int width;
        private int gid;
        /**
         * url : http://gameapp.fp.ps.netease.com/file/5800e57796dee4deb4f50082YJAa8YY0
         */

        private PreImage pre_image;
        private int id;
        private int size;

        public String getUrl() {
            return url;
        }

        public void setUrl(String url) {
            this.url = url;
        }

        public int getHeight() {
            return height;
        }

        public void setHeight(int height) {
            this.height = height;
        }

        public int getPlay_count() {
            return play_count;
        }

        public void setPlay_count(int play_count) {
            this.play_count = play_count;
        }

        public int getWidth() {
            return width;
        }

        public void setWidth(int width) {
            this.width = width;
        }

        public int getGid() {
            return gid;
        }

        public void setGid(int gid) {
            this.gid = gid;
        }

        public PreImage getPre_image() {
            return pre_image;
        }

        public void setPre_image(PreImage pre_image) {
            this.pre_image = pre_image;
        }

        public int getId() {
            return id;
        }

        public void setId(int id) {
            this.id = id;
        }

        public int getSize() {
            return size;
        }

        public void setSize(int size) {
            this.size = size;
        }

        public static class PreImage {
            private String url;

            public String getUrl() {
                return url;
            }

            public void setUrl(String url) {
                this.url = url;
            }
        }
    }

    public static class Packs {
        private String package_name;
        private String cdn_data_url;
        private int updated_at;
        private String warn_msg;
        private Object expansion_patch;
        private boolean has_ad;
        private String origin_fingerprint;
        private int id;
        private int size;
        private int adaptive_model_id;
        private int min_sdk;
        private int opengl_version;
        private String download_url;
        private int priority;
        private int version;
        private int gid;
        private int expansion_size;
        private int data_size;
        private boolean available;
        private String data_url;
        private String cdn_apk_url;
        private String ptype;
        private String fingerprint;
        private String version_name;
        private String lang;
        private Object expansion_main;
        private boolean need_vpn;
        private List<String> tags;

        public String getPackage_name() {
            return package_name;
        }

        public void setPackage_name(String package_name) {
            this.package_name = package_name;
        }

        public String getCdn_data_url() {
            return cdn_data_url;
        }

        public void setCdn_data_url(String cdn_data_url) {
            this.cdn_data_url = cdn_data_url;
        }

        public int getUpdated_at() {
            return updated_at;
        }

        public void setUpdated_at(int updated_at) {
            this.updated_at = updated_at;
        }

        public String getWarn_msg() {
            return warn_msg;
        }

        public void setWarn_msg(String warn_msg) {
            this.warn_msg = warn_msg;
        }

        public Object getExpansion_patch() {
            return expansion_patch;
        }

        public void setExpansion_patch(Object expansion_patch) {
            this.expansion_patch = expansion_patch;
        }

        public boolean isHas_ad() {
            return has_ad;
        }

        public void setHas_ad(boolean has_ad) {
            this.has_ad = has_ad;
        }

        public String getOrigin_fingerprint() {
            return origin_fingerprint;
        }

        public void setOrigin_fingerprint(String origin_fingerprint) {
            this.origin_fingerprint = origin_fingerprint;
        }

        public int getId() {
            return id;
        }

        public void setId(int id) {
            this.id = id;
        }

        public int getSize() {
            return size;
        }

        public void setSize(int size) {
            this.size = size;
        }

        public int getAdaptive_model_id() {
            return adaptive_model_id;
        }

        public void setAdaptive_model_id(int adaptive_model_id) {
            this.adaptive_model_id = adaptive_model_id;
        }

        public int getMin_sdk() {
            return min_sdk;
        }

        public void setMin_sdk(int min_sdk) {
            this.min_sdk = min_sdk;
        }

        public int getOpengl_version() {
            return opengl_version;
        }

        public void setOpengl_version(int opengl_version) {
            this.opengl_version = opengl_version;
        }

        public String getDownload_url() {
            return download_url;
        }

        public void setDownload_url(String download_url) {
            this.download_url = download_url;
        }

        public int getPriority() {
            return priority;
        }

        public void setPriority(int priority) {
            this.priority = priority;
        }

        public int getVersion() {
            return version;
        }

        public void setVersion(int version) {
            this.version = version;
        }

        public int getGid() {
            return gid;
        }

        public void setGid(int gid) {
            this.gid = gid;
        }

        public int getExpansion_size() {
            return expansion_size;
        }

        public void setExpansion_size(int expansion_size) {
            this.expansion_size = expansion_size;
        }

        public int getData_size() {
            return data_size;
        }

        public void setData_size(int data_size) {
            this.data_size = data_size;
        }

        public boolean isAvailable() {
            return available;
        }

        public void setAvailable(boolean available) {
            this.available = available;
        }

        public String getData_url() {
            return data_url;
        }

        public void setData_url(String data_url) {
            this.data_url = data_url;
        }

        public String getCdn_apk_url() {
            return cdn_apk_url;
        }

        public void setCdn_apk_url(String cdn_apk_url) {
            this.cdn_apk_url = cdn_apk_url;
        }

        public String getPtype() {
            return ptype;
        }

        public void setPtype(String ptype) {
            this.ptype = ptype;
        }

        public String getFingerprint() {
            return fingerprint;
        }

        public void setFingerprint(String fingerprint) {
            this.fingerprint = fingerprint;
        }

        public String getVersion_name() {
            return version_name;
        }

        public void setVersion_name(String version_name) {
            this.version_name = version_name;
        }

        public String getLang() {
            return lang;
        }

        public void setLang(String lang) {
            this.lang = lang;
        }

        public Object getExpansion_main() {
            return expansion_main;
        }

        public void setExpansion_main(Object expansion_main) {
            this.expansion_main = expansion_main;
        }

        public boolean isNeed_vpn() {
            return need_vpn;
        }

        public void setNeed_vpn(boolean need_vpn) {
            this.need_vpn = need_vpn;
        }

        public List<String> getTags() {
            return tags;
        }

        public void setTags(List<String> tags) {
            this.tags = tags;
        }
    }

    public static final int VERTICAL_SCREEN = 0;
    public static final int VERTICAL_VIDEO = 1;
    public static final int HORIZONTAL_SCREEN = 2;
    public static final int HORIZONTAL_VIDEO = 3;

    private int type = VERTICAL_SCREEN;

    public int getType() {
        return type;
    }

    public void setType(int type) {
        this.type = type;
    }
}
